#include<iostream>
#include<string.h>
#include<cmath>
using namespace std;
#define MaxSize 100
 
void   RadixSort(int arry[],int size)
{
	int temp[10][MaxSize];
	int count[10];
	memset(temp,0,sizeof(temp));
	memset(count,0,sizeof(count));
	for(int i=0;i<3;++i)
	{
		for(int j=0;j<size;++j)
		{
			int p=int(arry[j]/pow(10,i))%10;
			temp[p][count[p]]=arry[j];
			count[p]++;
		}
		int m=0;
		for(int j=9;j>=0;--j)
		{
			for(int q=0;q<count[j];++q)
			{
				arry[m]=temp[j][q];
				m++;
			 } 
			 count[j]=0;
		}
	}
	}
	int main()
	{
		int a[]={78,67,23,11,90,88,56,49,91,33};
		RadixSort(a,10);
		for(int i=0;i<10;++i)
		{
			cout<<a[i]<<"";
		}
			}
